package com.vortex.cloud.sample.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonInclude;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.LocalTime;
import java.util.List;

/**
 * @author 王林
 * @version 1.0
 * @date 2021-10-18 周一
 * @time 15:08
 * @description
 */
@Data
@Schema(name = "TaskUserTreeDataVo", description = "用户管理elementUI需要的树表数据类")
public class TaskUserTreeDataVo {

    /**
     * 用户id
     */
    @Schema(description = "用户id")
    private String tenantId;

    /**
     * 姓名
     */
    @Schema(description = "姓名")
    private String name;

    /**
     * 日期
     */
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    @Schema(description = "日期")
    private LocalDate taskDate;

    /**
     * 时间
     */
    @JsonFormat(pattern = "HH:mm:ss", timezone = "GMT+8")
    @Schema(description = "时间")
    private LocalTime taskTime;

    /**
     * 年月日时分秒
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @Schema(description = "年月日时分秒")
    private LocalDateTime taskDateTime;

    /**
     * 用户类型，0：管理员，1：普通用户
     */
    @Schema(description = "用户类型,0:管理员，1:普通用户")
    private String roleType;

    /**
     * 身份证号
     */
    @Schema(description = "身份证号")
    private String idNo;

    /**
     * 性别，1：男,0：女 -参见Position枚举
     */
    @Schema(description = "性别")
    private String sex;

    /**
     * 手机号
     */
    @Schema(description = "手机号")
    private String mobileNo;

    /**
     * 职位，参见Position枚举
     */
    @Schema(description = "职位，参见Position枚举")
    private String position;

    /**
     * 密码
     */
    @Schema(description = "密码")
    private String password;

    /**
     * 邮箱
     */
    @Schema(description = "邮箱")
    private String email;

    /**
     * 登录凭证
     */
    @Schema(description = " 登录凭证")
    private String loginToken;

    /**
     * 是否首次登录，参见YesOrNo枚举
     */
    @Schema(description = "是否首次登录")
    private String isFirstLogin;

    /**
     * 头像地址
     */
    @Schema(description = " 头像地址")
    private String logoUrl;

    /**
     * 备注
     */
    @Schema(description = " 备注")
    private String remark;

    /**
     * 创建者
     */
    @Schema(description = "创建者")
    private String createBy;

    /**
     * 更新者
     */
    @Schema(description = "更新者")
    private String updateBy;

    /**
     * 姓名
     */
    @Schema(description = "父id")
    private String parentId;

    @Schema(description = "子菜单")
    @JsonInclude(JsonInclude.Include.NON_EMPTY)/*children没有数据 会返回空数组，加该注解，则不返回该字段*/
    private List<TaskUserTreeDataVo> children;

}
